<?php

namespace App\Services;

use App\Models\WxWorkChatData;
use App\Models\WxWorkChatDataPullLog;
use Azhida\LaravelWorkWechatMessage\WorkWechatMessage;

class WorkWeChatMessageSaveService extends WorkWechatMessage
{
    /**
     * 企业微信会话内容存档服务 [说明：目前仅支持 linux]
     */

    public function __construct()
    {
        parent::__construct();
    }

    protected function handleOnePullLog(array $chats, int $min_seq, int $max_seq, int $count)
    {
        // 一次拉取，写一条拉取日志
        WxWorkChatDataPullLog::query()->create([
            'min_seq' => $min_seq,
            'max_seq' => $max_seq,
            'count' => $count,
            'res' => $chats,
        ]);
    }

    protected function handleOneMessage(array $item = [])
    {
        // 逐条解密消息并入库
        WxWorkChatData::query()->create([
            'seq' => $item['seq'], // 消息的seq值，标识消息的序号
            'msgid' => $item['msgid'], // 消息id，消息的唯一标识，企业可以使用此字段进行消息去重。
            'from_userid' => $item['msg']['from'] ?? '', // 消息id，消息的唯一标识，企业可以使用此字段进行消息去重。
            'msg' => $item['msg'], // 明文消息，json格式
            'data' => $item, // 加密数据，json格式，即chatdata里的每一项数据
        ]);
    }

}
